1. Field of the Invention
This invention relates generally to the field of optical lithography, and in particular, to a polygon pinning methodology of forming new vertices of original polygons and pinning such vertices to the Region of Interest (ROI) for use in model-based Optical Proximity Correction (OPC) for optical lithography.
2. Description of Related Art
In the fabrication of semiconductor devices, optical microlithography processing, also known as photolithography, generally requires duplicating desired circuit patterns as best as possible onto a semiconductor wafer. These desired circuit patterns are represented as opaque and completely or partially transparent regions on a template referred to as a photomask. The patterns on the photomask are then projected onto photoresist-coated wafers by way of optical imaging through an exposure system.
Aerial image simulators, which compute the images generated by optical projection systems, have proven to be a valuable tool to analyze and improve the state-of-the-art in optical lithography for integrated circuit fabrication. These simulations have found application in advanced mask design, such as phase shifting mask (PSM) design, optical proximity correction (OPC), and in the design of projection optics. Modeling aerial images is a crucial component of semiconductor manufacturing. Since present lithographic tools employ partially coherent illumination, such modeling is computationally intensive for all but elementary patterns. The aerial image produced by the mask, i.e., the light intensity in an optical projection system's image plane, is a critically important quantity in microlithography for governing how well a developed photoresist structure replicates a mask design.
In OPC software, the image intensity is usually calculated by a bilinear transform having a specific kernel function that describes the physics of the process. This may be accomplished by way of an optical kernel corresponding to a Hopkin's integral or a composite kernel that includes resist effects. For example, for short range effects the bilinear transform can be optimally reduced to a sum of simple linear convolutions by the Sum of Coherent Sources (SOCS) method, whereas for intermediate range effects or other non-optical effects the bilinear transform may be reduced to a linear convolution between mask pattern and an intensity kernel.
For very long-range effects, the problem can be reduced still further to represent the mask by a coarse grid wherein each pixel is an average pattern density of features within that grid-square. The convolution between the coarse grid and the incoherent kernel can be done very rapidly, e.g. via Fast Fourier transform (FFT) to gain speed since an FFT can generate convolution for all pixels at the same time, or by newer more rapid methods that provide the same benefit.
However, the short and intermediate range is a critical part that can be time consuming due to the need to address individual polygons. Normal practice for calculating short and intermediate range effects typically includes spatially truncating the kernel by some practical assumption to provide a table lookup of the convolution of basic building block sectors which is stored within a table of finite and acceptable size.
The above prior art convolution techniques are commonly performed on polygon features using either sector-based algorithms or edge-based algorithms. These sector-based algorithms, which may be calculated using sectors at a variety of angles, allow for the convolution over a sector to be pre-calculated as base-images and stored in a table or matrix. For example, conventional practice for a sector based OPC engine may include decomposing a polygon into a collection of sectors of either 90-degree angles (as shown in FIG. 1) or 45-degree angles (as shown in FIGS. 2A-B). However, conventional sector based OPC calculations are often time consuming and require a significant amount of memory as calculations are performed for each sector within the square region of interest (ROI) 10 and then stored in the tables (matrices) for later use.
In addition to the above, sector based OPC calculations also suffer from accuracy deficiencies for certain long-range kernel. That is, mathematical difficulties arise in optical proximity correction calculations that, in part, can be attributed to divergence issues when attempting to analytically express imaging kernels over the unbound sectors, of which mask polygons are conventionally decomposed.
For example, FIG. 1 depicts lookup table values for a variety of 90-degree sectors for various points “X0” inside the square ROI 10. For sectors having edges that are strictly horizontal and vertical, the table look up area (Kernel support area) is a square with sides two times the optical distance (OD). At any point “X0” inside the ROI, the table value is constant along any one of the straight contour lines 20. However, for any point “X0” 30 that resides outside ROI 10, the contour line 20 is extended outside the ROI, either horizontally or vertically, and the convolution value for such point “X0” 30 is taken at the boundary of the ROI along the same straight contour line at point “X0*” 30′ as is shown. This process is commonly referred to as continuation.
Further with respect to FIG. 1, all convolution contributions of each point or vertex lying within the ROI is pre-calculated and stored in a matrix. For all other points outside the ROI that are not contributing to the polygon, e.g., those points beyond the left and bottom boundaries of the ROI, the convolution values of such points are equal to zero. The convolution of the polygon, with the kernel, is then calculated by summing the contributions of each contributing pre-calculated, stored sector lying within the ROI.
In another example of conventional sector based OPC calculations, FIGS. 2A and 2B illustrate lookup table values for 45-degree sectors. As shown, for sectors with 45-degree angles the continued contour at the upper half is now not vertical but is skewed laterally, having a 45-degree slope in the upper region and a constant value across the contour line. This laterally skewed contour is applicable to ortho-45 designs.
Accordingly, when point “X0” 30 lies above the ROI 10, the value will now be taken at point “X0*” 30′ that lies on the boundary of ROI and along the same laterally skewed contour line. Similarly, at any point “X0” inside the ROI, the table value is constant along any one of the laterally skewed 45-degree sectors. Convolutions at each 45-degree sector vertex are calculated and stored in a matrix for all points “X0” within the ROI. For ease of lookup for any point “X0” lying outside the ROI 10 of FIG. 2B, the top half of the table lookup area is skewed in the same lateral direction as the 45-degree contour lines.
However, in so doing, a disadvantage is that any points lying outside the radius relative to the vertex of the skewed ROI 10′, as is depicted by the arrow in FIG. 2B, are outside of the pre-calculated matrix, and therefore, will not add any contribution to convolution of the polygon. As such, conventional practice is to extend the skewed ROI 10′ by a distance of (1−1/sqrt (2)) ROI on all 4 sides of the table by this amount to provide an extended ROI 15. This creates an appreciably larger lookup table, i.e., ROI 15, for which convolution contribution at points “X0” along each 45-degree sector must be pre-calculated and stored in the matrix. The larger lookup table ROI 15 is undesirable, as it requires even more time and memory to calculate all the contributing convolution vertices of the polygon within ROI 15, in addition to requiring increased amounts of memory for storage thereof. Further, this approach is undesirable as the skewed lookup table must be subsequently transformed to a square matrix for computer implementation, therein requiring a coordinate transformation for every vertex.
Polygon cropping procedures are also used to form multiple polygons representative of vertices of an original polygon(s), whereby the vertices of each of these multiple new polygons is subsequently pinned to the ROI. One such method is referred to as the Intersection Method. This involves generating multiple cropped polygons of an original polygon(s) using the algorithm C=A∪B, wherein shape A is a polygon, shape B is the ROI and intersections C is the generation of multiple new, smaller polygons. Unfortunately, since many levels and varieties of data structures of polygons and complicated hierarchy are created, this introduces numerous allocation steps into the procedure, which requires a significant amount of memory, as well as involves large amounts of numerical and topological overhead in creating these multiple polygons. As a result, cropping procedures also require a substantial amount of overhead in processing time since usually a full chip correction is required. Another disadvantage of common cropping procedures is that they often introduce numerical instability into the procedure due to numerical error in formation of new multiple polygons representative of vertices of the original polygon(s) and as a result of the change of shape of the chip topology, which in turn, leads to altering polarity of the original polygon(s).
Consequently, a need exists in the art for providing improved methods of convoluting polygons within a ROI for use in Optical Proximity Correction for optical lithography.
The present invention overcomes the above problems and deficiencies in the prior art by providing an improved polygon pinning method that accurately, efficiently, easily and cost effectively creates new vertices of the located polygons within a ROI and pins such vertices to the ROI by a unique algorithm for use in model-based OPC calculations.